約 4,315,691 件
https://w.atwiki.jp/satoschi/pages/6387.html
イディ語 |Trans-New Guinea languages|Trans-Fly-Bulaka River languages| 言語類型 現用言語 使用文字 ラテン文字【Latn?】 type living language writing system Latin alphabet ISO 639-3 【idi】 言語名別称 alternate names Diblaeg Dimisi Dimsisi Tame 方言名 dialect names Idi Tame 参考文献 references WEB ISO 639-3 Registration Authority - SIL International the LINGUIST List Ethnologue
https://w.atwiki.jp/nicoratch/pages/495.html
概要 24ビット/ 96kHzのUSBオーディオインターフェイスを搭載した2+1チャンネルのPro DSPミキサー。MIDIコン機能を備えTRAKTORと高い親和性を持つ。日本での発売予定はまだ無い。 +フロント・リアパネル画像 フロントパネル リアパネル スペック表 Dimensions (exterior)250mm x 355mm x 104.9mm Weight4.2kg Channels2+1 EQ Range+10/-30 dB Inputs2 x phono, 2(+2) x line, 1 x mic, 2 x USB Outputs1 x master, 1 x REC, 2 x USB Send/Return2 x return/1 x send Built-in FXFreely assignable DSP effect unit (echo, auto pan, flanger, manual filter, auto filter, reverb, trans, pitch shifter) CrossfaderFreely assignable Long Life TCT crossfader (45 mm) with adjustable curve Beat Sampler24/bit/96 kHz Minimum system requirements PC Windows XP (SP3), Win7 (32 bit/64 bit) at least Pentium III / Intel Core Duo, 1 GHz (NO AMD processors recommended!) at least 512 MB RAM Minimum system requirements Mac OS X 10.5/10.6 Intel Core Duo family (only Intel MACs) at least 512 MB RAM ■価格 £350/$690(新品) IQ2 MIDI http //www.reloop.com/reloop-iq2-midi 取扱説明書(英語) http //www.manualsdir.com/manuals/593290/reloop-iq2-midi.html
https://w.atwiki.jp/pawa_midi/pages/12.html
今日の訪問者: - 昨日の訪問者: - ここで添付されているmidiはDominoで聞くことができます。 refでmidiを張り付けると添付が反映されない現象が起きる。 ※このページは誰でも編集できます。 ファイルをアップロードしてくださる方、ファイル名は PKP[1~11]_[名前].拡張子 でお願いします。 パワプロクンポケット1 パワプロクンポケット1 ファイル名 奨励音源 サイズ エンディングPKP1_ending_s.dms SGM-V2.01.sf2 秋PKP1_fall_s.dms SGM-V2.01.sf2 冬PKP1_winter_s.dms SGM-V2.01.sf2 名前 コメント すべてのコメントを見る ないす! -- (key) 2009-01-27 17 37 48 てst -- (管理人) 2008-12-21 16 18 23
https://w.atwiki.jp/marowiki/pages/564.html
目次 【時事】ニュースMidi Musical Instrument Digital Interface 電子楽器デジタルインタフェース RSSMidi Musical Instrument Digital Interface 電子楽器デジタルインタフェース 口コミMidi Musical Instrument Digital Interface 電子楽器デジタルインタフェース 【参考】ブックマーク 関連項目 タグ 【時事】 ニュース Midi AKAI Professional、人気のUSB-MIDIキーボードコントローラーのグレーモデル「MPK mini Special Edition Grey」(BARKS) - Yahoo!ニュース - Yahoo!ニュース 連帯から生まれる新たなロックバンドのムーブメント black midi、BCNR……拡大続けるサウスロンドン・シーン中心に考察 - リアルサウンド MIDIキーボードを置いてるだけで、音楽作るモチベーションが高まるよね【Amazonブラックフライデー】 - GIZMODO JAPAN Studiologic、17鍵MIDI足鍵盤「MP-117」発売(BARKS) - Yahoo!ニュース - Yahoo!ニュース Raspberry Pi Picoを使ったMIDIキーボード自作キット「chromatoneminipico」、複雑なLED制御も可能 - AKIBA PC Hotline! フックアップ、星CMEのワイヤレスMIDIアダプターの複数セットを発売 - マイナビニュース Musicom LAB、プロ仕様をさらに極めたループ・スイッチャー&MIDIコントローラー「EFX MK-VI」(BARKS) - Yahoo!ニュース - Yahoo!ニュース 5000円のMIDIキーボードが楽しい!どこでも気軽に演奏できる(女子SPA!) - Yahoo!ニュース - Yahoo!ニュース MSX向けのMIDIインターフェイスカード自作キット「SCSG-MIF2」、カートリッジスロットに装着 - AKIBA PC Hotline! HOTONE、BluetoothとUSB接続に対応したコンパクトで堅牢なMIDIコントローラー「AMPERO CONTROL」(BARKS) - Yahoo!ニュース - Yahoo!ニュース MIDIケーブル ローランドが発売 エフェクター接続|あなたの静岡新聞 - @S[アットエス] by 静岡新聞 「iPhone 13 Pro」のオーディオ性能やMIDI互換性を検証する - AV Watch Akai Professional、MPC2ソフトウェアとの組み合わせでMPCワークフローを実現する第二世代モデル「MPC Studio」(BARKS) - Yahoo!ニュース - Yahoo!ニュース BOSSブランドより、3.5mmステレオミニプラグを採用したMIDIケーブル - マイナビニュース 70年代の記憶が蘇る Strymonから多彩なサウンドメイクが楽しめるマルチディメンショナル・フェイザー「Zelzah」(BARKS) - Yahoo!ニュース - Yahoo!ニュース ソニーCSL、“自分っぽいメロディー”を生成できる無料のAI作曲支援アプリ「Flow Machines Mobile」(PHILE WEB) - Yahoo!ニュース - Yahoo!ニュース BLACK MIDI、ジャパン・ツアーが延期に - Skream! Dos Monosが崎山蒼志やブラック・ミディ(black midi)ら参加の『Dos Siki 2nd Season』を発表、9月に自主企画Theater Dの開催も - Mikiki 世界初のワイヤレス対応MIDIエクスプレッション・ペダルを発売 ~さまざまなMIDI機器を足元のペダルでコントロール。豊かな演奏表現を可能に~ - アットプレス(プレスリリース) 脳のニューロンが音楽を作る? 神経の信号をMIDIに変換すると心地よいメロディーに - リアルサウンド 【Amazonプライムデー】いいとこ取りのMIDIキーボード「KeyStep Pro」が、僕の知る限り最安値だ! - GIZMODO JAPAN 【Amazonプライムデー最終日!】25鍵MIDIキーボードが3,000円台、骨伝導ワイヤレスヘッドホンが30%オフとお買い得 - GIZMODO JAPAN 【江戸川区】居心地の良いカフェ『CAFE&BAR MiDI』(カフェ&バー ミディ)のコレが美味しい! - 号外NET 江戸川区 ブラック・ミディ(black midi)を聴くと〈もっとやっていい〉と思える。Dos Monos荘子it × 崎山蒼志 対談 - Mikiki black midi ──ブラック・ミディ続報です - ele-king.net interview with Black Midi ロンドンの新世代ロック・バンド、クラシックについて語る | ブラック・ミディ、インタヴュー - ele-king.net BLACK MIDI、2ndアルバム『Cavalcade』携え9月にジャパン・ツアー決定 - Skream! Black Midi - Cavalcade | ブラック・ミディ - ele-king.net いま話題のMIDIオルゴール「CANADEON PW40」。 シンセサイザー・プログラマーの第一人者・松武秀樹氏が提案する 新世代楽器の計り知れない可能性。専用アプリで演奏も - Stereo Sound ONLINE 【今週のマストチューン】black midi、Mustafa、NEHANN〜5月第5週〜 - Fashionsnap.com ブラック・ミディ(black midi)の新作を機に改めて考える新世代UKロックの熱い流れ - Mikiki 【Amazonタイムセール祭り】始めるなら今!USB MIDIキーボードが4,189円、ウクレレが2,439円とお買い得 - Lifehacker JAPAN black midiのニューアルバム『Cavalcade』より最新シングル“Chondromalacia Patella”が本日公開! - Qetic テキストに書いたコード進行を演奏・MIDIファイルとして出力できる「TexChord 2」 - 窓の杜 black midi ──UKロック最前線、ブラック・ミディ入魂のセカンドが登場 - ele-king.net black midi(ブラック・ミディ)|無尽蔵の音楽隊列が戦慄の速度で駆け抜ける!次世代のカリスマ衝撃のセカンド・アルバム - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE ピアノの演奏動画から楽譜を自動作成 ディープラーニングで 京大が技術開発 - ITmedia XSONIC、MIDI/USB/リレー/Bluetoothでデバイスを自在にコントロールできるフットコントローラー「AIRSTEP」&「AIRSTEP Lite」 - BARKS スマートコントロール、オートマッピング機能搭載88鍵ハンマーアクション・USB MIDIコントローラーM-AUDIO HAMMER 88 PROをリリース - Dream News CME、手軽にワイヤレスMIDI環境を構築できるアダプター第2弾「WIDI Jack」、外部電源供給でより多くの機器に対応 - BARKS 分解してコンパクトに持ち運べる!サイレントギターとしても楽しめるMIDIギター「Jammy G」|@DIME アットダイム - @DIME 音を操る指輪だと…? 手の動きで音を変化させる指輪型Midiコントローラー「Neova」 - GIZMODO JAPAN Nektar、演奏性を重視した61鍵/49鍵セミウェイテッド鍵盤搭載のUSB MIDI コントローラー「Impact GXP61」「Impact GXP49」 - BARKS 空中で手を動かし音を変化させる 指輪型MIDIコントローラ - AV Watch 引出構造を採用したHTPCケース「MIDI Project S」がオリオスペックでセール - AKIBA PC Hotline! ボタンを押すだけでコードを演奏——MIDIコードコントローラー「Chordmonger」 - fabcross ボタン式クロマティックアコーディオンを模擬したMIDIキーボード自作キットが入荷 - AKIBA PC Hotline! ★新商品★「Jammy G」ギターの演奏技術だけであらゆる楽器の音を奏でられるMIDIギター【様々な音色に対応/サイレント/折り畳み/ポータブル/高感度センサー】 - PR TIMES 「TR-808」や「MIDI」の開発秘話を描いた書籍の発売が決定 | クラベリア - clubberia PC版『ノスタルジア Op.3』プレイレポ─MIDIキーボードで誰でもピアニスト気分! 『BEMANI』のダークホースはトップに躍り出るか - インサイド 2台のMIDI機器間のワイヤレス接続やiOS/Mac、BLE機器との接続をサポート、CMEからワイヤレスMIDIアダプター「WIDI Master」登場 - BARKS M-AUDIO KEYSTATIONシリーズ最新USB MIDI キーボードコントローラーKEYSTATION 88 MK3発売のご案内 - Dream News ジョイスティックを39本利用したMIDIコントローラ - PC Watch ローランド、MIDIを無線化。電子楽器とiPadをBluetooth接続 - AV Watch ローランド、PCやiOS機器と無線接続して音楽制作が行えるMIDIツール - マイナビニュース 電子楽器とパソコンやiPadを無線接続して音楽制作/演奏できるワイヤレスMIDIツールを発売 ~独自技術で音の遅れを感じない、安定した動作のワイヤレス接続。より快適で自由な音楽制作や演奏を実現~ - アットプレス(プレスリリース) Blackstar、コンパクトで柔軟な設定ができる6ボタンMIDIフットコントローラー「Live Logic USB MIDI Controller」 - BARKS MIDI 1.0 規格書(日本語翻訳版)が国立科学博物館の「重要科学技術史資料(愛称:未来技術遺産)」に登録 - PR TIMES 夏休みの自由研究 - MIDI 楽器を作ろう (プログラミングと音楽と) - 後編 - builders.flash - 変化を求めるデベロッパーを応援するウェブマガジン | AWS - amazon.com IK Multimedia、オーディオアウトを備えたコンパクトな25鍵MIDIキーボード「iRig Keys 2 Mini」 - BARKS 次世代型モバイルMIDIキーボード「iRig Keys 2 Mini」、IK Multimedia国内代理店フォーカルポイントから! - PR TIMES MIDI対応電子楽器同士をワイヤレスで接続する「mi.1 Cable」登場 - BARKS 電子楽器同士をワイヤレスMIDI接続する「mi.1 Cable」の先行販売開始 - Dream News 夏休みの自由研究 - MIDI 楽器を作ろう (プログラミングと音楽と) - 前編 - builders.flash - 変化を求めるデベロッパーを応援するウェブマガジン | AWS - amazon.com black midi(ブラック・ミディ)|新曲「Sweater」と隠しトラック「7-eleven」を収録した限定盤12”を発売 - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE フランスJoueのクラウドファンディングMIDI電子楽器に廉価版が登場 - TechCrunch Japan X68000向けの新作MIDIボード「midiori v2.2」が入荷、税込10,780円 - AKIBA PC Hotline! 1台で12トラックMTR、USBオーディオ/MIDIインターフェース、DAWコントロールに対応したサウンドクリエイターのためのデスクトップツール『Model 12』を3月27日より新発売 - PR TIMES Bluetooth MIDIは本当に遅延が大きい? 測定して比べてみた - AV Watch MIDI 1.0がMIDI 2.0へ待望のアップデート。規格書が完成、公開へ - PR TIMES MIDI規格が「MIDI 2.0」に進化。双方向通信や繊細な表現が可能に - AV Watch 38年ぶりにバージョンアップした「MIDI 2.0」によって音楽制作はどう変わるのか? - GIGAZINE IK Multimediaの次世代型MIDIキーボード「iRig Keys 2 Pro」、「iRig Keys 2」を国内代理店フォーカルポイントが発売! - 日刊工業新聞 black midi(ブラック・ミディ)数量限定ロゴTシャツ&激レアのライブ盤CDセットがタワーレコード限定で12月13日に発売 - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE 電子ドラムが熱い中国、斬新なMIDIキーボードも。巨大展示会Music Chinaを見た - AV Watch black midi初来日インタビュー|彼らが世界に衝撃を与えたその理由を紐解く - Qetic 本格&おもしろシンセ集結! 空き缶のMIDI楽器、クマ型リズムマシンがMaker Faireに - AV Watch WaveBlaster互換のMIDIドーターカードをUSB音源化するキットが入荷 - AKIBA PC Hotline! ブラック・ミディ(black midi)『Schlagenheim』に聴く、恐れ知らずのロック・サウンド - Mikiki ブラック・ミディ(black midi)『Schlagenheim』と日本文化の奇妙でイビツな親和性 - Mikiki interview with Black Midi 自分自身を解体するアート | ブラック・ミディ、インタヴュー - ele-king.net MIDI Provocateur ──〈トラフィック〉からスタイリッシュなダンス・プロジェクト、ミディ・プロヴォケイターがデビュー - ele-king.net iPad/iPhoneがオシロスコープやMIDIモニターに! 2つのアプリで音を簡単測定 - AV Watch 歌声が楽器になるMIDIコントローラー「Dubler Studio Kit」--声でリアルタイム制御 - CNET Japan MIDI、38年後バージョンアップの「なぜ」?:NAMM 2019 - ITmedia 次世代MIDI「MIDI 2.0」発表、互換性維持しながら演奏の表現力向上 - AV Watch MIDI 2.0、始動 今も使われる電子楽器規格が38年後のバージョンアップ - ITmedia 一般社団法人音楽電子事業協会(AMEI)とThe MIDI Manufacturers Association (MMA)が「MIDI 2.0」の開発・規格化および実装作業を進めていくことを発表。 - PR TIMES 【懐パーツ】DTMを築き上げたMIDI音源の銘機「ローランド SC-88VL」 - PC Watch 「MIDIのゴッドファーザー」と呼ばれた男と、彼が遺した「TR-808」というレガシー - WIRED.jp TR-808、JUPITER-8、DTM、MIDIを生んだ梯郁太郎氏が死去 - ITmedia 【プレイバック2016】Bluetoothで“ワイヤレス演奏”できる「BLE-MIDI」への期待と課題 by 藤本健 - AV Watch ステージ映えする不思議な形のMIDIコントローラ「Mune」 - CNET Japan 音楽電子事業協会、MIDI 1.0規格書を無償ダウンロード提供 - PC Watch 柔らかいパッドで音楽を作る新型MIDIコントローラ「CMG」--日本企業が開発 - CNET Japan 【藤本健のDigital Audio Laboratory】 第669回 Bluetooth MIDI伝送で何ができる? 対応5製品とiPad連携などを試す - AV Watch ヴィンテージ楽器から最新技術まで、MIDIの歴史と未来に触れるイベント「Think MIDI ~MIDIがつなぐ時代と音楽~」レポート - BARKS 【藤本健のDigital Audio Laboratory】 第653回 Android 6.0でオーディオ/DTM機能はどう変わった? ハイレゾやMIDI対応をチェック - AV Watch 「ようこそヴェルディくんの部屋へ 」 MIDI音が流れる“ホームページ”にファン驚き - ITmedia MIDIシーケンサーと仮想音源を接続できるようにする仮想MIDIポート「loopMIDI」NOT SUPPORTED - 窓の杜 Musical Instrument Digital Interface BOSS、ギター/ベース用エフェクターのMIDI接続に最適なケーブルを発売(BARKS) - Yahoo!ニュース - Yahoo!ニュース BOSS、ワイヤレス対応MIDIエクスプレッション・ペダルを発売 - BARKS 屋外での演奏に最適なバッテリー駆動アンプが新機能を備えてBOSSブランドで登場 - アットプレス(プレスリリース) 「Enhancia」の指輪型ウェアラブルMIDIコントローラーの輸入販売を開始 - アットプレス(プレスリリース) ローランド、PCやiOS機器と無線接続して音楽制作が行えるMIDIツール - マイナビニュース 電子楽器とパソコンやiPadを無線接続して音楽制作/演奏できるワイヤレスMIDIツールを発売 ~独自技術で音の遅れを感じない、安定した動作のワイヤレス接続。より快適で自由な音楽制作や演奏を実現~ - アットプレス(プレスリリース) MIDI 1.0 規格書(日本語翻訳版)が国立科学博物館の「重要科学技術史資料(愛称:未来技術遺産)」に登録 - PR TIMES MIDI 2.0、始動 今も使われる電子楽器規格が38年後のバージョンアップ - ITmedia 【懐パーツ】DTMを築き上げたMIDI音源の銘機「ローランド SC-88VL」 - PC Watch 「MIDIのゴッドファーザー」と呼ばれた男と、彼が遺した「TR-808」というレガシー - WIRED.jp 音楽電子事業協会、MIDI 1.0規格書を無償ダウンロード提供 - PC Watch 電子楽器デジタルインタフェース ヤマハ 電子ドラム『DTX10シリーズ』『DTX8シリーズ』 - PR TIMES パソコンやスマホ直結で手軽に宅録やDTMを楽しめる!オーディオインターフェースいらずでボーカルやギターの録音ができるUSBケーブル、マイクとシールドの2タイプを新発売 - PR TIMES ソニー、体の動きで電子楽器にエフェクトをかける「MOTION SONIC」クラファン開始 - マイナビニュース RSS Midi #gnews plugin Error gnewsは1ページに3つまでしか使えません。別ページでご利用ください。 Musical Instrument Digital Interface #gnews plugin Error gnewsは1ページに3つまでしか使えません。別ページでご利用ください。 電子楽器デジタルインタフェース #gnews plugin Error gnewsは1ページに3つまでしか使えません。別ページでご利用ください。 口コミ Midi #bf Musical Instrument Digital Interface #bf 電子楽器デジタルインタフェース #bf 【参考】 ブックマーク サイト名 関連度 備考 Wikipedia ★★ 関連項目 項目名 関連度 備考 研究/音楽 ★★★ 研究/シンセサイザー ★★★ 研究/電子楽器 ★★★ 研究/デジタル ★★★ 研究/創作 ★★★ タグ 創作 冒頭へ
https://w.atwiki.jp/dtmer/pages/19.html
MIDIとは Musical Instrument Digital Interfaceの略。 通称「電子楽器デジタルインタフェース」 電子楽器間同士を互換させるための世界共通の規格。 日本の電子楽器メーカーが中心となり規格化された。 これをファイル化したものはSMFである。 ここでは、MIDIの基礎知識となる機能などをご紹介していきます。 ※どなたか説明文を付けて頂けると助かります。 MIDIメッセージ MIDIデータで扱われる主要機能です。 note on/off(ノートオン/オフ) ここでのノートとは音符のことを示しています。 つまり、ノートオンとは音が鳴っている状態(鍵盤を押さえている状態) であり、ノートオフとは音が鳴らない状態(鍵盤を放した状態)を示している ということになります。 Velocity(ベロシティ) 音の強弱を変えることができる機能。 ピアノの鍵盤を強く押すか弱く押すかを表現できる優秀な機能。 値が高ければ強い音、低ければ弱い音が鳴ります。 重要なのは単純に音量がかわるだけでなく、音質も変化すると言う事です。 ピアノなどは強く叩けば硬い音がし、弱く叩けば柔らかい音になります。 高級な音源ほどそのような微妙なニュアンスが表現しやすいパラメータです。 設定範囲値は1~127です。※0はノートオフに同じ。 note#(ノートナンバー) 音の高さ・・・即ち音程のことです。 単純にこの値が高いほど音が高くなり、低いほど音が低くなります。 MIDIではこの値が60の時、譜面上での中央C(ハ音/ド)になります。 設定範囲値は0~127で、1増える(減る)度に1半音上がり(下がり)ます。 また、ドラムパートはこのノート番号毎に音色が設定されています。 Pitch Bend Change(ピッチベンドチェンジ) なめらかに音程を変化させます。 ギターのチョーキングやサックスの吹き上がりなどの演奏方法がこれです。 変化の度合いは音源によって多少異なるので注意が必要です。 また、音域を指定する場合、どの程度の範囲で掛けるかを設定できます。 半音単位で指定します。±は、元々の音を中心としてどれだけの範囲まで変動するかです。 12…±12(1オクターブ) 2…±2(全音、長2度) 1…±1(半音、短2度)などなど プログラムチェンジ 個々の音色が割り当てられた番号です。 一般的にはPC#1~128と表記されています。 割り当てられている音色については、楽器の一覧を参照のこと。 コントロールチェンジ CC#7 Volume(ボリューム) 単純な、音量のこと。 もちろん値が高ければ音量は大きく、低ければ小さいです。 後述のエクスプレッションと同じ機能です。 全体的な音量を決めるのが一般的によく使われる方法で、 細かい調整はエクスプレッションの方でやる事が多いようです。(これは好みです) CC#10 Pan-Pot(パン) 音の左右の定位のこと。正式にはパンポットと言います。 値が大きければ右側に、低ければ左側に音が鳴ります。 メモとして、数値が64だと真ん中の定位です。 リバーブとともにステレオ感を出すための重要なファクターの一つ。 CC#11 Expression(エクスプレッション) 上記のボリュームと似たような機能。 一般的にはボリュームは最初のみ値を決めて、変えることはないです。 曲の途中で音量を変える時はエクスプレッションを使うのがオススメです。 主に、ブラスやストリングスなどに使うと、よりリアルな音に近付けます。 CC#91 Reverb(リバーブ) 音を響かせることができる機能。残響を出せます。 音源によっては、残響のかかり方や、あるいはリバーブが使えない場合もございます。 値を大きくすると、まるで大部屋で演奏されてるような残響になり、 低くすると、小部屋もしくは昔のゲーム音っぽい感じになります。 リバーブの種類 ホール系: 一般的に綺麗なリバーブといわれるものです.残響が長く残るのが特徴です 綺麗なのですがかけすぎるとワーンと響くので程ほどに. トラック数が多いとあまり聴こえなくなるという短所も持ち合わせています. 最近流行のIRリバーブは実際のホールで収集したデータを元に再現します. ルーム系: 一般的な小さめの部屋の反響を再現するリバーブです. かかったことがわかいやすい特徴がありますが,かけすぎると風呂場になります. ドラムにかけてコンプとあわせて空気感を出すのには必須ですね. プレート系: 文字通りプレートエコーを再現するもので金属的な響きが特徴です. 台所みたいな響きがします. たいていはボーカルにかけて艶を出すのに使います. チェンバー系: あまり使った事が・・・誰か追記お願いします(^^; CC#94 Delay(ディレイ) こちらも音を響かせる機能。 ですが、残響というよりエコー(やまびこ)に近いです。 リバーブだけでは立体的なステレオ感を出し切れない事がしばしばあります。 そこでこのディレイと組み合わせて立体感を出します。 両者を使い分けれると、かなり便利です。 ディレイの種類 モノディレイ: 名前の通りなった音を同じ方向から繰り返します。 トラックをコピーして遅らせてもおなじことが再現できます。 クロスディレイ: ディレイ音のパンが左右いれかわって出力されます。 ステレオ感がとてもでるディレイの一つです。 ステレオディレイ: 左右で別々のディレイをかけることができるディレイです。 質の違うディレイが左右で起こるのでこれもステレオ感を強く演出できます。 その他のディレイ: ディレイはパンとの組み合わせによって色々なものがあります。 第一反射が左で次が右に反射したり、左中央右の順で反射したりするものもあります。 曲にあうように使い分けましょう。 ディレイのパラメータ ディレイタイム: エコーがどれだけ遅れて発音されるかを決めます。 実時間(秒単位)で指定する場合と楽譜時間(拍単位)で指定する場合があります。 フィードバック: エコーを再びディレイに戻して何度も反射させることをします。 このエコーの減衰のさせ方によって空気感が生まれます。 100%にするとエコーが止まりませんw バンドパスフィルタ: そのままエコーを流すと多くの場合違和感があります。 通常エコーというのは高域や低域が削られて若干篭っているからです。 バンドバスフィルタをうまくかけることによってより自然なエコーらしくなります。 リバーブセンド: 上記と同様にエコーには部屋の残響が強く残る事が多いので エコーをリバーブにセンドすることにより、より自然なエコーを得る事ができます。 CC#93 Chorus(コーラス) この値を入力すると、音が二重に鳴ってるようになります。 ベースやギターなどにかけると、音に厚みが増します。 他にも使い方はありますので、是非お探しを。 コーラスしくみ コーラスがなぜコーラスに聴こえるかと言うと、それはそれぞれの音源の出す周波数が 微妙に違っており、それが不規則に変化するからです。 また周波数特性も微妙に違います. 生演奏の場合は自然とそれがなされるため合奏に聴こえます。 しかし機械的な音源では常に同じ周波数が出てしまうため合奏に聴こえません。 そこで合奏にするための方法が必要となるわけです。 コーラスは原音に対してモジュレーションをかけた音を重ねる方法が一般的です。 つまり原音とは若干周波数が違い、それが周期的に揺らいでいる音を重ねる事により あたかも複数鳴っているかのような効果を生み出します。 コーラスのパラメータ モジュレーションタイム: コーラス音の揺らぐ周期を決定します。 短すぎると変に揺らぐし 長すぎると原音と周波数が同じになって干渉する時間帯が長くなってしまいます。 自然になるような値を探しましょう。 モジュレーションデプス: コーラス音の揺らぐ幅を決定します。 幅が大きいほど原音との差が出てコーラスっぽくなりますが違和感も大きくなります。 カットフィルタ: フィルタで原音と周波数特性をかえてやることによりコーラスっぽさを演出します。 かけるほどコーラスっぽさは出ますが、原音の持つ味が失われてしまいます. ディレイ: 原音に対してコーラスの波を時間的にずらすことによってコーラスっぽさを演出します。 一般的なディレイではなく音の波の山をずらす感じでしょうか? よって一般的なディレイとは違いms単位での調整になります。 CC#1 Modulation(モジュレーション) ビブラート効果を出します。 値が大きいほど揺れ幅は大きくなります。 いわゆる波打つように聴こえます。 CC#65 Portament(ポルタメント) ポルタメントとは、主にシンセを多用する音楽に使われるもので、 直前に鳴っている音に合わせて音程を上下に変化させます。 直前の音が高ければ音程が次に鳴る音に向かって下降し、低ければ 次に鳴る音に向かって上昇します。 音の鳴り方としては、ピッチベンドに似た滑らかな変化音です。 ポルタメントの使い方 ポルタメントの設定は他のコントロールとは異なります。 まず、CC#65でポルタメントをオンにします。(値を64以上に設定) そして、CC#5で音が変化する速さを設定します。 また、必要に応じてCC#84で変化させる基準にするノート番号を設定します。 CC#74 Brightness(ブライトネス) 別名「カットオフ・フリケンシー」 フィルタの一種で、音色の柔らかさを指定します。 値が高いほど明るくはっきりとした鋭い音となりますが、 低くすると柔らかくまろやかな音となります。 CC#73 Attack Time(アタックタイム) その音が鳴ってから、最大音量に到達するまでの時間に変化をつけます。 値が大きいほど遅くなり、小さいほど速くなります。 CC#72 Release Time(リリースタイム) その音が鳴ってから、減衰し完全に消えるまでの時間に変化をつけます。 値が大きいほど長くなり、小さいほど短くなります。 CC#64 Hold(ホールド) ピアノのダンパーペダルのような機能です。 ノートオフが無視されてホールドが解除されるまで持続します。 生っぽいピアノにはなくてはならない機能といえるでしょう。 RPN/NPRN コントロールチェンジでは定義されていない拡張されたパラメータ群です。 Resonance(レゾナンス) 別名「ハーモニック・コンテント」「Q」 カットオフ周波数付近を強調します。 特定周波数が強調されるため、MIXした時に目立つような音になります。
https://w.atwiki.jp/nicoratch/pages/1130.html
概要 3Band EQを搭載しUSBメモリ使用可能なDJコントローラー。virtual dj同梱。 スペック表 lnput microphone (jack/XLR),headphones 2_0 full speed built-in sound card,DAC sampling rate from 8kHz, 16kHz,44.1 kHz to 48kHz with 16bit resolution,Dynamic range 88db THD+N-79dB~84dB Unit dimensions 484*320*91 mm(W*D*H) Unit weight 3.8kgs MIDI 18A http //www.wjtch.com/content/?39.html
https://w.atwiki.jp/touhoumtg/pages/84.html
威嚇する吸血鬼/Intimidate Vampire 威嚇する吸血鬼/Intimidate Vampire(2)(B) クリーチャー - 吸血鬼 威嚇 威嚇する吸血鬼ではブロックできない。 2/2 参考 東方2012-コモン
https://w.atwiki.jp/mncorelay/pages/1025.html
MIDI(ミディ、Musical Instrument Digital Interface)は、日本のMIDI規格協議会(JMSC、現在の社団法人音楽電子事業協会)と国際団体のMIDI Manufacturers Association (MMA) により策定された、電子楽器の演奏データを機器間でデジタル転送するための世界共通規格。物理的な送受信回路・インタフェース、通信プロトコル、ファイルフォーマットなど複数の規定からなる。 ツクール2000における音楽素材ファイル種類における主力である。 要するに楽譜であり、実行するとその再生するパソコンに内蔵されたMIDI音源を使って自動演奏が行われる。 そういう原理なのでWAVやMP3などに比べるとファイル容量は非常に小さいが再生時のCPU負荷は逆に高いという。 まあ昨今のパソコンなら気にする負荷ではないが。 WindowsXPまではMIDI音源はほぼ自由にインストールできたりハードウェア内蔵音源によって再生させたりできたが、WindowsVistaや7以降はプリインストールされているクソ音源以外で再生することが難しくなってきている。特に64ビット環境だと絶望的である。 作成されているファイルによっては特定の種類のMIDI音源でないと正確に再生されず、ドラムだけ鳴ったりドラムだけ鳴らなかったり、ギター奏法で言うチョーキングみたいな音程変化エフェクト(ピッチベンドという)が機能せずオンチだったりしてしまう。 他者が気を利かせて修正しようものなら、逆に特定の音源環境で相当チープに聞こえてしまったりしてしまう。 MP3などと違い、あまりにもユーザーの再生環境に依存してしまうための悲劇といえよう。 なのでツクール2000作品であるクロスオーバーリレーの音楽をよりきちんと楽しみたいなら、MIDI音源導入に不自由のないWindowsXPあたりのOS環境でプレイすることが推奨される。 セキュリティ面で不安? ていうかもうXPマシンなんて手放した? m9 なおツクールXP・VX・VXAceは強制的に自前MIDI音源で再生される。 ツクールMVはMIDI自体が使えない。 世の中は、どんどんMIDIに冷たくなっている。 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/vst_prog/pages/79.html
トップページ MIDIメッセージ処理(改良版) MIDIメッセージにあわせて動作するVSTのサンプルの改良版である。 下記VSTはSynthとしてロードされ、常にノイズを発生させる。実行時は音量に注意してほしい。 ノイズのボリュームをMIDI CC7でコントロールできる。 サンプルコード全体 【CMidiMsg.h】 #pragma once#include string.h #include "audioeffectx.h" // ============================================================================================// MIDI処理用の定義// ============================================================================================#define MIDIMSG_MAXNUM 255 struct MidiMessage{VstInt32 deltaFrames; //MIDIメッセージを処理するタイミングunsigned char message; //MIDIメッセージ番号unsigned char channel; //MIDIチャンネルunsigned char data1; //MIDIデータ1unsigned char data2; //MIDIデータ2}; class CMidiMsg{protected int cur; //読み込み中のMIDIの位置int num; //受け取ったMIDIメッセージの数MidiMessage buf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファpublic CMidiMsg(void);~CMidiMsg(void); // バッファのクリア等を行う。virtual void clearMidiMsg(); // MIDIメッセージをバッファに追加する// バッファへの追加が成功すると1、失敗すると0を返すvirtual int addMidiMsg(VstMidiEvent *midievent);virtual int addMidiMsg(MidiMessage msg); // バッファからMIDIメッセージを取り出すvirtual MidiMessage getMidiMsg(); // バッファ中にあるMIDIメッセージの数を返すvirtual VstInt32 getMidiMessageNum(); // バッファから最初に取り出せるMIDIメッセージのDeltaFramesを返すvirtual VstInt32 getNextDeltaFrames(); // MIDIメッセージが何かを判断し、そのメッセージに対応した// onMidiKeyOn()関数、onMidiControlChange()関数等を呼び出す。virtual void midiProc(MidiMessage mididata); // midiProc()関数から呼び出される。// それぞれのMIDIメッセージに応じて処理を行う// 以下6つはオーバーライドして使うとよいvirtual void onMidiKeyOn (unsigned char channel, unsigned char noteNo, unsigned char velo) {}; // 関数の中身は空virtual void onMidiKeyOff (unsigned char channel, unsigned char noteNo, unsigned char velo) {}; // 関数の中身は空virtual void onMidiProgramChange(unsigned char channel, unsigned char program) {}; // 関数の中身は空virtual void onMidiPoliKeyPress (unsigned char channel, unsigned char noteNo, unsigned char pressure) {}; // 関数の中身は空virtual void onMidiChannelPress (unsigned char channel, unsigned char pressure) {}; // 関数の中身は空virtual void onMidiPitchBend (unsigned char channel, short pb) {}; // 関数の中身は空// 以下2つはあまりオーバーライドして使う必要はないvirtual void onMidiSystemMessage(unsigned char systemmsg, unsigned char data1, unsigned char data2); // 中身はCMidiMsg.cppに記載virtual void onMidiControlChange(unsigned char channel, unsigned char cc, unsigned char value); // 中身はCMidiMsg.cppに記載 // onMidiSystemMessage()関数より呼び出される。// システムメッセージに応じて処理する関数// オーバーライドして使うとよい// (ただし、ホストアプリケーションからSystem Messageが送られることはあまり無い?)virtual void onMidiQuarterFrame(unsigned char data) {};virtual void onMidiSongPointer(short songpoint) {};virtual void onMidiSongSelect(unsigned char data) {};virtual void onMidiChainRequest() {};virtual void onMidiTimingClock() {};virtual void onMidiStart() {};virtual void onMidiContinue() {};virtual void onMidiStop(){};virtual void onMidiActiveSensing() {};virtual void onMidiSystemReset() {}; // onMidiControlChange()関数より呼び出される。// コントロールチェンジメッセージに応じて処理する関数// オーバーライドして使うとよいvirtual void onMidiCC000 (unsigned char channel, unsigned char value) {};virtual void onMidiCC001 (unsigned char channel, unsigned char value) {}; // ModulationDepthvirtual void onMidiCC002 (unsigned char channel, unsigned char value) {};virtual void onMidiCC003 (unsigned char channel, unsigned char value) {};virtual void onMidiCC004 (unsigned char channel, unsigned char value) {};virtual void onMidiCC005 (unsigned char channel, unsigned char value) {}; // PortamentTimevirtual void onMidiCC006 (unsigned char channel, unsigned char value) {};virtual void onMidiCC007 (unsigned char channel, unsigned char value) {}; // ChannelVolumevirtual void onMidiCC008 (unsigned char channel, unsigned char value) {};virtual void onMidiCC009 (unsigned char channel, unsigned char value) {};virtual void onMidiCC010 (unsigned char channel, unsigned char value) {}; // Panvirtual void onMidiCC011 (unsigned char channel, unsigned char value) {};virtual void onMidiCC012 (unsigned char channel, unsigned char value) {}; // Expressionvirtual void onMidiCC013 (unsigned char channel, unsigned char value) {};virtual void onMidiCC014 (unsigned char channel, unsigned char value) {};virtual void onMidiCC015 (unsigned char channel, unsigned char value) {};virtual void onMidiCC016 (unsigned char channel, unsigned char value) {};virtual void onMidiCC017 (unsigned char channel, unsigned char value) {};virtual void onMidiCC018 (unsigned char channel, unsigned char value) {};virtual void onMidiCC019 (unsigned char channel, unsigned char value) {};virtual void onMidiCC020 (unsigned char channel, unsigned char value) {};virtual void onMidiCC021 (unsigned char channel, unsigned char value) {};virtual void onMidiCC022 (unsigned char channel, unsigned char value) {};virtual void onMidiCC023 (unsigned char channel, unsigned char value) {};virtual void onMidiCC024 (unsigned char channel, unsigned char value) {};virtual void onMidiCC025 (unsigned char channel, unsigned char value) {};virtual void onMidiCC026 (unsigned char channel, unsigned char value) {};virtual void onMidiCC027 (unsigned char channel, unsigned char value) {};virtual void onMidiCC028 (unsigned char channel, unsigned char value) {};virtual void onMidiCC029 (unsigned char channel, unsigned char value) {};virtual void onMidiCC030 (unsigned char channel, unsigned char value) {};virtual void onMidiCC031 (unsigned char channel, unsigned char value) {};virtual void onMidiCC032 (unsigned char channel, unsigned char value) {};virtual void onMidiCC033 (unsigned char channel, unsigned char value) {};virtual void onMidiCC034 (unsigned char channel, unsigned char value) {};virtual void onMidiCC035 (unsigned char channel, unsigned char value) {};virtual void onMidiCC036 (unsigned char channel, unsigned char value) {};virtual void onMidiCC037 (unsigned char channel, unsigned char value) {};virtual void onMidiCC038 (unsigned char channel, unsigned char value) {};virtual void onMidiCC039 (unsigned char channel, unsigned char value) {};virtual void onMidiCC040 (unsigned char channel, unsigned char value) {};virtual void onMidiCC041 (unsigned char channel, unsigned char value) {};virtual void onMidiCC042 (unsigned char channel, unsigned char value) {};virtual void onMidiCC043 (unsigned char channel, unsigned char value) {};virtual void onMidiCC044 (unsigned char channel, unsigned char value) {};virtual void onMidiCC045 (unsigned char channel, unsigned char value) {};virtual void onMidiCC046 (unsigned char channel, unsigned char value) {};virtual void onMidiCC047 (unsigned char channel, unsigned char value) {};virtual void onMidiCC048 (unsigned char channel, unsigned char value) {};virtual void onMidiCC049 (unsigned char channel, unsigned char value) {};virtual void onMidiCC050 (unsigned char channel, unsigned char value) {};virtual void onMidiCC051 (unsigned char channel, unsigned char value) {};virtual void onMidiCC052 (unsigned char channel, unsigned char value) {};virtual void onMidiCC053 (unsigned char channel, unsigned char value) {};virtual void onMidiCC054 (unsigned char channel, unsigned char value) {};virtual void onMidiCC055 (unsigned char channel, unsigned char value) {};virtual void onMidiCC056 (unsigned char channel, unsigned char value) {};virtual void onMidiCC057 (unsigned char channel, unsigned char value) {};virtual void onMidiCC058 (unsigned char channel, unsigned char value) {};virtual void onMidiCC059 (unsigned char channel, unsigned char value) {};virtual void onMidiCC060 (unsigned char channel, unsigned char value) {};virtual void onMidiCC061 (unsigned char channel, unsigned char value) {};virtual void onMidiCC062 (unsigned char channel, unsigned char value) {};virtual void onMidiCC063 (unsigned char channel, unsigned char value) {};virtual void onMidiCC064 (unsigned char channel, unsigned char value) {}; // DumperPedalvirtual void onMidiCC065 (unsigned char channel, unsigned char value) {}; // PortamentOnOffvirtual void onMidiCC066 (unsigned char channel, unsigned char value) {}; // SostenutoPedalvirtual void onMidiCC067 (unsigned char channel, unsigned char value) {}; // SoftPedalvirtual void onMidiCC068 (unsigned char channel, unsigned char value) {};virtual void onMidiCC069 (unsigned char channel, unsigned char value) {};virtual void onMidiCC070 (unsigned char channel, unsigned char value) {};virtual void onMidiCC071 (unsigned char channel, unsigned char value) {}; // Resonancevirtual void onMidiCC072 (unsigned char channel, unsigned char value) {}; // ReleaseTimevirtual void onMidiCC073 (unsigned char channel, unsigned char value) {}; // AttackTimevirtual void onMidiCC074 (unsigned char channel, unsigned char value) {}; // Brightnessvirtual void onMidiCC075 (unsigned char channel, unsigned char value) {}; // DecayTimevirtual void onMidiCC076 (unsigned char channel, unsigned char value) {}; // VibratoRatevirtual void onMidiCC077 (unsigned char channel, unsigned char value) {}; // VibratoDepthvirtual void onMidiCC078 (unsigned char channel, unsigned char value) {}; // VibratoDelayvirtual void onMidiCC079 (unsigned char channel, unsigned char value) {};virtual void onMidiCC080 (unsigned char channel, unsigned char value) {};virtual void onMidiCC081 (unsigned char channel, unsigned char value) {};virtual void onMidiCC082 (unsigned char channel, unsigned char value) {};virtual void onMidiCC083 (unsigned char channel, unsigned char value) {};virtual void onMidiCC084 (unsigned char channel, unsigned char value) {};virtual void onMidiCC085 (unsigned char channel, unsigned char value) {};virtual void onMidiCC086 (unsigned char channel, unsigned char value) {};virtual void onMidiCC087 (unsigned char channel, unsigned char value) {};virtual void onMidiCC088 (unsigned char channel, unsigned char value) {};virtual void onMidiCC089 (unsigned char channel, unsigned char value) {};virtual void onMidiCC090 (unsigned char channel, unsigned char value) {};virtual void onMidiCC091 (unsigned char channel, unsigned char value) {}; // ReverbSendvirtual void onMidiCC092 (unsigned char channel, unsigned char value) {}; // ChorusSendvirtual void onMidiCC093 (unsigned char channel, unsigned char value) {};virtual void onMidiCC094 (unsigned char channel, unsigned char value) {};virtual void onMidiCC095 (unsigned char channel, unsigned char value) {};virtual void onMidiCC096 (unsigned char channel, unsigned char value) {};virtual void onMidiCC097 (unsigned char channel, unsigned char value) {};virtual void onMidiCC098 (unsigned char channel, unsigned char value) {};virtual void onMidiCC099 (unsigned char channel, unsigned char value) {};virtual void onMidiCC100 (unsigned char channel, unsigned char value) {};virtual void onMidiCC101 (unsigned char channel, unsigned char value) {};virtual void onMidiCC102 (unsigned char channel, unsigned char value) {};virtual void onMidiCC103 (unsigned char channel, unsigned char value) {};virtual void onMidiCC104 (unsigned char channel, unsigned char value) {};virtual void onMidiCC105 (unsigned char channel, unsigned char value) {};virtual void onMidiCC106 (unsigned char channel, unsigned char value) {};virtual void onMidiCC107 (unsigned char channel, unsigned char value) {};virtual void onMidiCC108 (unsigned char channel, unsigned char value) {};virtual void onMidiCC109 (unsigned char channel, unsigned char value) {};virtual void onMidiCC110 (unsigned char channel, unsigned char value) {};virtual void onMidiCC111 (unsigned char channel, unsigned char value) {};virtual void onMidiCC112 (unsigned char channel, unsigned char value) {};virtual void onMidiCC113 (unsigned char channel, unsigned char value) {};virtual void onMidiCC114 (unsigned char channel, unsigned char value) {};virtual void onMidiCC115 (unsigned char channel, unsigned char value) {};virtual void onMidiCC116 (unsigned char channel, unsigned char value) {};virtual void onMidiCC117 (unsigned char channel, unsigned char value) {};virtual void onMidiCC118 (unsigned char channel, unsigned char value) {};virtual void onMidiCC119 (unsigned char channel, unsigned char value) {};virtual void onMidiCC120 (unsigned char channel, unsigned char value) {}; // AllSoundOffvirtual void onMidiCC121 (unsigned char channel, unsigned char value) {}; // AllControlResetvirtual void onMidiCC122 (unsigned char channel, unsigned char value) {};virtual void onMidiCC123 (unsigned char channel, unsigned char value) {};virtual void onMidiCC124 (unsigned char channel, unsigned char value) {};virtual void onMidiCC125 (unsigned char channel, unsigned char value) {};virtual void onMidiCC126 (unsigned char channel, unsigned char value) {}; // MonoModeOnOffvirtual void onMidiCC127 (unsigned char channel, unsigned char value) {}; // PoliModeOnOff}; 【CMidiMsg.cpp】 #include "CMidiMsg.h" CMidiMsg CMidiMsg(void){clearMidiMsg();} CMidiMsg ~CMidiMsg(void){} void CMidiMsg clearMidiMsg(){// メンバー変数を初期化するcur=0;num=0;memset(buf, 0, sizeof(MidiMessage)*MIDIMSG_MAXNUM);} int CMidiMsg addMidiMsg(VstMidiEvent *midievent){MidiMessage tmp;tmp.deltaFrames = midievent- deltaFrames;tmp.message = midievent- midiData[0] 0xF0;tmp.channel = midievent- midiData[0] 0x0F;tmp.data1 = midievent- midiData[1];tmp.data2 = midievent- midiData[2]; return addMidiMsg(tmp);} int CMidiMsg addMidiMsg(MidiMessage msg){// バッファがいっぱいなら0を返すif (num = MIDIMSG_MAXNUM)return 0; buf[num] = msg; num++;if (num MIDIMSG_MAXNUM) {num = MIDIMSG_MAXNUM;} return 1;}; MidiMessage CMidiMsg getMidiMsg(){MidiMessage tmp = buf[cur]; num--;if( num 0) { num = 0; } cur++;if( cur = MIDIMSG_MAXNUM) { cur = MIDIMSG_MAXNUM -1;} return tmp;} VstInt32 CMidiMsg getMidiMessageNum(){return num;} VstInt32 CMidiMsg getNextDeltaFrames(){return buf[cur].deltaFrames;} void CMidiMsg midiProc(MidiMessage mididata){short msb = 0;short lsb = 0;short pitchbend = 0; switch (mididata.message 0xF0){case 0x80 // ノートオフメッセージonMidiKeyOff(mididata.channel, mididata.data1, mididata.data2);break; case 0x90 // ノートオンメッセージ// ヴェロシティが0の場合はノートオフメッセージとして扱うif (mididata.data2 0){onMidiKeyOn(mididata.channel, mididata.data1, mididata.data2);}else{onMidiKeyOff(mididata.channel, mididata.data1, mididata.data2);}break; case 0xA0 // キープレッシャーメッセージonMidiPoliKeyPress(mididata.channel, mididata.data1, mididata.data2);break; case 0xB0 // コントロールチェンジメッセージonMidiControlChange(mididata.channel, mididata.data1, mididata.data2);break; case 0xC0 // プログラムチェンジメッセージonMidiProgramChange(mididata.channel, mididata.data1);break; case 0xD0 // チャンネルプレッシャーメッセージonMidiChannelPress(mididata.channel, mididata.data1);break; case 0xE0 // ピッチベンドメッセージlsb = (mididata.data1);msb = (mididata.data2);pitchbend = ((msb 7) | lsb) - 8192;onMidiPitchBend(mididata.channel, pitchbend);break; case 0xF0 // システムメッセージonMidiSystemMessage((mididata.message 0xF0) | (mididata.channel 0x0F), mididata.data1, mididata.data2);break;}} void CMidiMsg onMidiSystemMessage(unsigned char systemmsg, unsigned char data1, unsigned char data2){ short lsb = (data1);short msb = (data2);switch(systemmsg){case 0xF1 onMidiQuarterFrame(data1); break;case 0xF2 onMidiSongPointer( (msb 7) | lsb ); break;case 0xF3 onMidiSongSelect(data1); break;case 0xF6 onMidiChainRequest(); break;case 0xF8 onMidiTimingClock(); break;case 0xFA onMidiStart(); break;case 0xFB onMidiContinue(); break;case 0xFC onMidiStop(); break;case 0xFE onMidiActiveSensing(); break;case 0xFF onMidiSystemReset(); break;default break;}} void CMidiMsg onMidiControlChange(unsigned char channel, unsigned char cc, unsigned char value){switch(cc){case 0 onMidiCC000 (channel, value); break;case 1 onMidiCC001 (channel, value); break;case 2 onMidiCC002 (channel, value); break;case 3 onMidiCC003 (channel, value); break;case 4 onMidiCC004 (channel, value); break;case 5 onMidiCC005 (channel, value); break;case 6 onMidiCC006 (channel, value); break;case 7 onMidiCC007 (channel, value); break;case 8 onMidiCC008 (channel, value); break;case 9 onMidiCC009 (channel, value); break;case 10 onMidiCC010 (channel, value); break;case 11 onMidiCC011 (channel, value); break;case 12 onMidiCC012 (channel, value); break;case 13 onMidiCC013 (channel, value); break;case 14 onMidiCC014 (channel, value); break;case 15 onMidiCC015 (channel, value); break;case 16 onMidiCC016 (channel, value); break;case 17 onMidiCC017 (channel, value); break;case 18 onMidiCC018 (channel, value); break;case 19 onMidiCC019 (channel, value); break;case 20 onMidiCC020 (channel, value); break;case 21 onMidiCC021 (channel, value); break;case 22 onMidiCC022 (channel, value); break;case 23 onMidiCC023 (channel, value); break;case 24 onMidiCC024 (channel, value); break;case 25 onMidiCC025 (channel, value); break;case 26 onMidiCC026 (channel, value); break;case 27 onMidiCC027 (channel, value); break;case 28 onMidiCC028 (channel, value); break;case 29 onMidiCC029 (channel, value); break;case 30 onMidiCC030 (channel, value); break;case 31 onMidiCC031 (channel, value); break;case 32 onMidiCC032 (channel, value); break;case 33 onMidiCC033 (channel, value); break;case 34 onMidiCC034 (channel, value); break;case 35 onMidiCC035 (channel, value); break;case 36 onMidiCC036 (channel, value); break;case 37 onMidiCC037 (channel, value); break;case 38 onMidiCC038 (channel, value); break;case 39 onMidiCC039 (channel, value); break;case 40 onMidiCC040 (channel, value); break;case 41 onMidiCC041 (channel, value); break;case 42 onMidiCC042 (channel, value); break;case 43 onMidiCC043 (channel, value); break;case 44 onMidiCC044 (channel, value); break;case 45 onMidiCC045 (channel, value); break;case 46 onMidiCC046 (channel, value); break;case 47 onMidiCC047 (channel, value); break;case 48 onMidiCC048 (channel, value); break;case 49 onMidiCC049 (channel, value); break;case 50 onMidiCC050 (channel, value); break;case 51 onMidiCC051 (channel, value); break;case 52 onMidiCC052 (channel, value); break;case 53 onMidiCC053 (channel, value); break;case 54 onMidiCC054 (channel, value); break;case 55 onMidiCC055 (channel, value); break;case 56 onMidiCC056 (channel, value); break;case 57 onMidiCC057 (channel, value); break;case 58 onMidiCC058 (channel, value); break;case 59 onMidiCC059 (channel, value); break;case 60 onMidiCC060 (channel, value); break;case 61 onMidiCC061 (channel, value); break;case 62 onMidiCC062 (channel, value); break;case 63 onMidiCC063 (channel, value); break;case 64 onMidiCC064 (channel, value); break;case 65 onMidiCC065 (channel, value); break;case 66 onMidiCC066 (channel, value); break;case 67 onMidiCC067 (channel, value); break;case 68 onMidiCC068 (channel, value); break;case 69 onMidiCC069 (channel, value); break;case 70 onMidiCC070 (channel, value); break;case 71 onMidiCC071 (channel, value); break;case 72 onMidiCC072 (channel, value); break;case 73 onMidiCC073 (channel, value); break;case 74 onMidiCC074 (channel, value); break;case 75 onMidiCC075 (channel, value); break;case 76 onMidiCC076 (channel, value); break;case 77 onMidiCC077 (channel, value); break;case 78 onMidiCC078 (channel, value); break;case 79 onMidiCC079 (channel, value); break;case 80 onMidiCC080 (channel, value); break;case 81 onMidiCC081 (channel, value); break;case 82 onMidiCC082 (channel, value); break;case 83 onMidiCC083 (channel, value); break;case 84 onMidiCC084 (channel, value); break;case 85 onMidiCC085 (channel, value); break;case 86 onMidiCC086 (channel, value); break;case 87 onMidiCC087 (channel, value); break;case 88 onMidiCC088 (channel, value); break;case 89 onMidiCC089 (channel, value); break;case 90 onMidiCC090 (channel, value); break;case 91 onMidiCC091 (channel, value); break;case 92 onMidiCC092 (channel, value); break;case 93 onMidiCC093 (channel, value); break;case 94 onMidiCC094 (channel, value); break;case 95 onMidiCC095 (channel, value); break;case 96 onMidiCC096 (channel, value); break;case 97 onMidiCC097 (channel, value); break;case 98 onMidiCC098 (channel, value); break;case 99 onMidiCC099 (channel, value); break;case 100 onMidiCC100 (channel, value); break;case 101 onMidiCC101 (channel, value); break;case 102 onMidiCC102 (channel, value); break;case 103 onMidiCC103 (channel, value); break;case 104 onMidiCC104 (channel, value); break;case 105 onMidiCC105 (channel, value); break;case 106 onMidiCC106 (channel, value); break;case 107 onMidiCC107 (channel, value); break;case 108 onMidiCC108 (channel, value); break;case 109 onMidiCC109 (channel, value); break;case 110 onMidiCC110 (channel, value); break;case 111 onMidiCC111 (channel, value); break;case 112 onMidiCC112 (channel, value); break;case 113 onMidiCC113 (channel, value); break;case 114 onMidiCC114 (channel, value); break;case 115 onMidiCC115 (channel, value); break;case 116 onMidiCC116 (channel, value); break;case 117 onMidiCC117 (channel, value); break;case 118 onMidiCC118 (channel, value); break;case 119 onMidiCC119 (channel, value); break;case 120 onMidiCC120 (channel, value); break;case 121 onMidiCC121 (channel, value); break;case 122 onMidiCC122 (channel, value); break;case 123 onMidiCC123 (channel, value); break;case 124 onMidiCC124 (channel, value); break;case 125 onMidiCC125 (channel, value); break;case 126 onMidiCC126 (channel, value); break;case 127 onMidiCC127 (channel, value); break;default break;}} 【MyMidiSample2VST.cpp】 // ============================================================================================// インクルードファイル// ============================================================================================#include stdlib.h #include "audioeffectx.h" #include "CMidiMsg.h" // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_INPUT_NUM 2 //入力数。モノラル入力=1、ステレオ入力=2#define MY_VST_OUTPUT_NUM 2 //出力数。モノラル出力=1、ステレオ出力=2 #define MY_VST_UNIQUE_ID SMPL //ユニークID //公開する場合は以下URLで発行されたユニークIDを入力する。 //http //ygrabit.steinberg.de/~ygrabit/public_html/index.html #define MY_VST_PRESET_NUM 1 //プリセットプログラムの数#define MY_VST_PARAMETER_NUM 0 //パラメータの数 // ============================================================================================// VSTの基本となるクラス// ============================================================================================class MyMidiSample2VST public AudioEffectX , public CMidiMsg{protected float volume;public MyMidiSample2VST (audioMasterCallback audioMaster); // 音声信号を処理するメンバー関数virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); // MIDIメッセージをホストアプリケーションから受け取るためのメンバー関数VstInt32 processEvents (VstEvents* events); void onMidiCC007(unsigned char channel, unsigned char value);}; // ============================================================================================// このVSTのを生成するための関数// ============================================================================================AudioEffect* createEffectInstance (audioMasterCallback audioMaster){//newでこのVSTを生成したポインタを返すreturn new MyMidiSample2VST (audioMaster);} MyMidiSample2VST MyMidiSample2VST (audioMasterCallback audioMaster) AudioEffectX (audioMaster, MY_VST_PRESET_NUM, MY_VST_PARAMETER_NUM){//VSTの初期化を行う。 //以下の関数を呼び出して入力数、出力数等の情報を設定する。//必ず呼び出さなければならない。setNumInputs (MY_VST_INPUT_NUM); //入力数の設定setNumOutputs (MY_VST_OUTPUT_NUM); //出力数の設定setUniqueID (MY_VST_UNIQUE_ID); //ユニークIDの設定 isSynth (true); //このVSTがSynthかどうかのフラグを設定。 //Synthの場合…true、Effectorの場合…false canProcessReplacing (); //このVSTが音声処理可能かどうかのフラグを設定。 //音声処理を行わないVSTはないので必ずこの関数を呼び出す。 //上記の関数を呼び出した後に初期化を行うvolume = 1.0f;} void MyMidiSample2VST processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames){//入力、出力は2次元配列で渡される。//入力は-1.0f~1.0fの間で渡される。//出力は-1.0f~1.0fの間で書き込む必要がある。//sampleFramesが処理するバッファのサイズfloat* outL = outputs[0]; //出力 左用float* outR = outputs[1]; //出力 右用 for (int i = 0; i sampleFrames; i++){//ここで音声処理を行う。 // MIDIメッセージがあるか確認if ( getMidiMessageNum() 0){// MIDIメッセージを処理するタイミングかどうかを確認する。if( getNextDeltaFrames() = i){// MIDIメッセージをバッファから取り出し処理するmidiProc( getMidiMsg() );}} //出力バッファへ書き込む。outL[i] = volume * (float)((rand() % 256) -128) / 255.0f;outR[i] = volume * (float)((rand() % 256) -128) / 255.0f;}} // MIDIメッセージを処理するメンバー関数// processReplacing()の前に必ず1度だけ呼び出される。// VstInt32 MyMidiSample2VST processEvents (VstEvents* events){// MIDIのリストを初期化します。clearMidiMsg(); int loops = (events- numEvents); // VSTイベントの回数だけループをまわす。for (int i = 0;i loops; i++){// 与えられたイベントがMIDIならばmidimsgbufにストックするif ((events- events[i])- type == kVstMidiType){VstMidiEvent *midievent = (VstMidiEvent*)(events- events[i]);if( !addMidiMsg(midievent) ){break;}}} // 1を返さなければならないreturn 1;} // // onMidiCC007()関数をオーバーライドして、MIDI CC7の場合の動作を定義する。// ここではチャンネルに関係なく、MIDI CC7メッセージを受け取るとノイズのボリュームを// 変更するようにしている。void MyMidiSample2VST onMidiCC007 (unsigned char channel, unsigned char value){volume = (float)(value) / 127.0f;} VST Tipsトップページへ(準備中) 同一カテゴリのTips 項目 No. 概要
https://w.atwiki.jp/cwhs/pages/66.html
CardWirth Q A/WindowsVista , Windows7で音楽が正常に再生されない… 原因は? CWシナリオの多くはBGMにMIDIを用いています。Windows Vistaには、MIDIに関して以下のような問題が存在するため、そのままではBGMを正常に再生できません。 Windows Vistaにおいて標準で用いられるMIDI音源Microsoft GS Wavetable SW Synth(以下MSGS)の性能が貧弱である。 Windows XPに搭載されたMSGSに組み込まれていた代替発音機能がない。 MIDIマッパーが機能しなくなったため、他のMIDI音源を搭載したPCであってもMSGSでMIDIが再生されてしまう。 解決法は? 注意 以下の解決法を試した結果、PCに不具合が出る等の損害をこうむったとしても、筆者は責任を負わないものとします。以下の方法は自己責任で行ってください。 良質なMIDI音源を導入する。 MIDI音源を搭載したサウンドカードを購入するか、ソフトウェア・シンセサイザーを導入する。 MIDIマッパーを導入し、MIDIの出力先をを新たに入手した音源に変更する。 無料のソフトウェアシンセサイザー『Timidity++』導入の手順 http //sourceforge.jp/projects/twsynth/files/?release_id=24409#24409にアクセスし、TiMidity-CVS070310_setup_JPN.exeをクリック、複数あるミラーサイトのどれかから、インストーラをダウンロードする。 TiMidity-CVS070310_setup_JPN.exeをダブルクリックして実行。 「Timidity++インストーラーへようこそ」と表示されたダイアログが出てくるので「OK」をクリック。 「Please select a language.」と表示されたダイアログが出てくるので言語を選択して(日本語なら「Japanese」)、「OK」をクリック。 ライセンス契約書を記したダイアログが出てくるので、「同意する」をクリック。 「コンポートネントを選んでください。」と表示されたダイアログが出るので、すべてのチェックボックスにチェックを入れた上で、「次へ」をクリック。 「インストール先を選んでください。」と表示されたダイアログが出るので、適切なインストール先を選んで「インストール」をクリック。 インストーラーの指示に従ってインストールを完了し、OSを再起動する。 無料のMIDIマッパー『Putzlowitschs Vista-MIDIMapper』導入の手順。 http //www.pp-express.info/vista/PLWMidiMap.cplにアクセスし、PLWMidiMap.cplをダウンロードする。 Administrators権限を持つアカウントでログインする。 Windowsフォルダ内のSystem32フォルダにPLWMidiMap.cplをコピーする。 MIDI音源を変更したいアカウントでログインする。 コントロールパネルの「Putzlowitschs Vista-MIDIMapper」を実行する。 ダイアログが出てくるので、リストから使用したいデバイスを選択し、「OK」をクリック。 コントロールパネルから「サウンド」を開く。 再生デバイス「スピーカー」を選択し、プロパティを開く。 詳細をクリックし、「アプリケーションによりこのデバイスを排他的に制御できるようにする」にチェックを入れ、「排他モードのアプリケーションを優先する」のチェックをはずす。 「OK」をクリックし、「スピーカー」の設定を終了する。サウンドの設定も「OK」をクリックして終了。 サウンドフォントの導入 サウンドフォントをダウンロードし、適当なフォルダに解凍する(拡張子「.sf2」のファイルがサウンドフォント)。(拡張子が「.sfArk」であるファイルの解凍法は下に記す。) スタートメニューを開き、「すべてのプログラム」- 「TiMidity++」- 「setwindrv」の順にクリック。 フォルダのアイコンの描かれたボタンをクリックし、サウンドフォントの存在するフォルダを選択して「開く」をクリック。 フォルダアイコンのボタンの真下にある「追加」ボタンをクリック。フォルダ内のサウンドフォントが認識され、「追加」ボタンの下のリストに新たなサウンドフォントが加わる。 新たに導入するサウンドフォントをリストから選択し、左隣の「追加」ボタンをクリック。左側のリストにサウンドフォントが追加される。 左側のリストには優先順位の高い順に上から下へサウンドフォントの名前が並んでいる。順位を変更したいサウンドフォントを選択し、「上に」「下に」ボタンを押して順位を調節する。 sfArkファイルを解凍するには『sfArk SoundFont Compression』が必要です。 『sfArk SoundFont Compression』の導入 http //www.melodymachine.com/sfark.htmからWindows用のインストーラをダウンロードし、実行する。 ライセンスに同意するよう促すダイアログが出るので、チェックボックスにチェックを入れ、「Next 」ボタンをクリック。 インストールするディレクトリを選択したら、「Start」をクリック。 インストールが終了したことを知らせるメッセージが出るので、「OK」をクリック。 『sfArk SoundFont Compression』の使い方 スタートメニューを開き、「すべてのプログラム」- 「sfArk」- 「sfArk SoundFont Compression」の順にクリック。 「File」メニューを開き、「Open」をクリック。解凍したいsfArkファイルを選択する。 リストにsfArkファイルが追加されるので、解凍したいものを選択して「Start」をクリック。圧縮ファイルと同じフォルダにサウンドフォントが展開されます。 お勧めのサウンドフォント Fluid - Release 3 http //www.hammersound.net/cgi-bin/soundlink.pl?action=view_download_page;ID=699;SoundFont_Location_Selected=Download%20It;SoundFont_Filename_Selected=Download%20It 中程度の大きさのサウンドフォントながら、高音質。これがあればCWのMIDI再生には困らないはず。 参考サイト pp-express TAXI様 http //www.pp-express.info/index.html 文責 真鍮の盾